package mfund.com.controller;

import java.util.*;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
import javax.servlet.ServletContext;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.ResponseBody;
import javax.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import java.io.File;
import mfund.com.service.*;
import mfund.com.model.*;
import javax.annotation.Resource;



@Controller
public class ProductValueController
{
	@Resource
	private ProductValueService productValueService;

	@RequestMapping(value="getProductValues",method=RequestMethod.GET,produces=MediaType.APPLICATION_JSON_VALUE)
	public @ResponseBody MFResult getProducts(@RequestParam Integer pageNo,
		@RequestParam Integer pageSize)
	{
		MFResult map=new MFResult();
		List<VProductValue> productValues= productValueService.query();
		Integer totalRecord=productValues.size();
		Integer count=(pageNo * pageSize) > totalRecord ? totalRecord :(pageNo * pageSize) ;
		Integer start=(pageNo-1) * pageSize;

		List<VProductValue> resultList=new ArrayList<VProductValue>();
		for(int i=start;i<count;i++){
			resultList.add(productValues.get(i));
		}
		map.setData(resultList);
		map.setPageNo(pageNo);
		map.setPageSize(pageSize);
		map.setTotalCount(totalRecord);

		return map;
	}

	@RequestMapping(value="getHistoryValuesById",method=RequestMethod.GET,produces=MediaType.APPLICATION_JSON_VALUE)
	public @ResponseBody MFResult getProducts(@RequestParam Integer productId,@RequestParam Integer pageNo,
		@RequestParam Integer pageSize)
	{
		MFResult map=new MFResult();
		List<TProductValue> productValues= productValueService.getHistoryValuesById(productId);
		Integer totalRecord=productValues.size();
		Integer count=(pageNo * pageSize) > totalRecord ? totalRecord :(pageNo * pageSize) ;
		Integer start=(pageNo-1) * pageSize;

		List<TProductValue> resultList=new ArrayList<TProductValue>();
		for(int i=start;i<count;i++){
			resultList.add(productValues.get(i));
		}
		map.setData(resultList);
		map.setPageNo(pageNo);
		map.setPageSize(pageSize);
		map.setTotalCount(totalRecord);

		return map;
	}
}